#include <stdio.h>
#include <string.h>
#include <math.h>
double c_n(char *str)
{
	
	int count=-1,i,j,len;
	double num=0;
	len=strlen(str);
	for(i=0;str[i]!='.'&&i<len;i++);
	for(j=0;j<i;j++)
	{
		if(str[j]=='1')
		num=num+pow(2,i-1-j);
	}
	while(i<len)
	{
		i++;
		if(str[i]=='1')
		num=num+pow(2,count);
		count--;	
	}	
	return num;
}

int  fun()
{
	char num1[40],num2[40],str1[40]={0},str2[40]={0};
	double a,b,c;
	int d,i;
	int flag=1;
	scanf("%s %s",num1,num2);
	if(num2[0]=='-')
	{
		num2[0]='0';
		flag=-1;
	}
	a=c_n(num1);
	b=c_n(num2)*flag;
	c=a+b;
	d=c;
	flag=1;
	if(c<0)
	{
		flag=-1;
		c=-1*c;
	}
	
	
	
	int k=0;
	while(pow(2,k)<d)
	k++;

	i=0;
	while(d!=0)
	{
		str1[k-i-1]=(d%2)+'0';
		i++;
		d=d/2;
	}

	d=c;
	i=0;
	if(d!=c)
	{
		c=c-d;
		while(c!=0)
		{
			c=c*2;
			if(c>=1)	
			{
				str2[i]='1';
				c=c-1;
			}
			else
			{
				str2[i]='0';
			}
			i++;
		}
		str2[i]='\0';
	}
	 
	if(flag==-1)
	printf("-%s.%s",str1,str2);
	else
	printf("%s.%s",str1,str2);
	
	return 0;
}
int main()
{
	int t;
	scanf("%d",&t);
	while(t)
	{
		fun();
		printf("\n");
		t--;
	}
	return 0;
}
